package cn.tedu.stage2.collection;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

/**
 * 数组转换为List集合
 * 数组的工具类Arrays提供了一个静态方法asList，可以将一个数组转换为List集合
 */
public class ArrayToListDemo {
    public static void main(String[] args) {
        String[] array = {"one","two","three","four","five"};
        System.out.println("Array:"+ Arrays.toString(array));
        List<String> list = Arrays.asList(array);
        System.out.println("List:"+list);
        //对该集合的操作就是对原数组对应的操作
        list.set(1,"six");
        System.out.println("List:"+list);
        System.out.println("Array:"+Arrays.toString(array));
        /*
            由于数组定长，所以该集合不持支增删元素操作，会抛出异常
            java.lang.UnsupportedOperationException
                      不支持的    操作      异常
         */

        //若希望对集合元素进行增删动作，则需要创建一个新集合并包含数组转换的集合中所有元素即可

        //所有集合都支持一个参数为Collection的构造器，作用是创建当前集合同时包含给定集合所有元素
        List list2 = new ArrayList(list);

        System.out.println("list2:"+list2);
        list2.add("seven");
        System.out.println("list2:"+list2);
    }
}
